# coding: utf-8
# 图2-2、2-3、2-4
# Python实现正态分布、偏态分布

import math
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats 
fig = plt.figure()
u = 0   # 均值μ
sig = math.sqrt(1)  # 标准差δ
# 使用numpy的linspace函数生成一个线性等间距的数值数组，作为x轴的坐标。这个数组从u - 4*sig（即-4）开始，到u + 4*sig（即4）结束，包含50000个点。这些点将用于绘制正态分布曲线上的横坐标。
x = np.linspace(u - 4*sig, u + 4*sig, num=50000)
# 这行代码计算了给定x值下正态分布的概率密度函数（PDF）的值。正态分布的PDF公式为f(x) = (1/(σ*sqrt(2π))) * exp(-((x-μ)^2)/(2*σ^2))。
# 这里，x - u计算了每个点到均值的距离，然后按照正态分布的PDF公式计算了每个点的概率密度值。这些值将用于绘制正态分布曲线上的纵坐标。
y_sig = np.exp( - (x - u) ** 2 / (2 * sig ** 2))/(math.sqrt(2 * math.pi)*sig)
# 使用matplotlib的plot函数将(x, y_sig)对绘制成图表。这里的"k-"指定了线条的颜色为黑色（k）和样式为实线（-）。
# linewidth=2设置了线条的宽度为2。这样，就在之前创建的图形窗口上绘制了一条表示标准正态分布的曲线。
plt.plot(x, y_sig, "k-", linewidth=2)

# ----------------------------------------------------------------------------
# x = np.arange(0,1,0.001)
# x = np.linspace(0, 1, num=50000)
# y = stats.beta.pdf(x,4,2)
# plt.plot(x, y, "b-", linewidth=2)
plt.grid(True)
plt.show()
# fig.savefig('./img/Skewness-Symmetric.png',dpi=600)